Method and program of collecting performance data for storage network

ABSTRACT

In a storage network including at least a computer system, at least an external storage and at least a network system for communication of input/output data between the computer system and the external storage, a method of collecting the performance data on the network system and the software operated on the network system, in which the range or degree of data collection is automatically adjusted as required based on the performance data collected.

CROSS-REFERENCES

This is a continuation application of U.S. Ser. No. 12/348,725, filedJan. 5, 2009, which is a divisional application of U.S. Ser. No.11/493,513, filed Jul. 27, 2006 (now abandoned), which is a continuationapplication of U.S. Ser. No. 10/789,472, filed Feb. 27, 2004 (now U.S.Pat. No. 7,107,273), which claims priority from Japanese application JP2003-398392, filed Nov. 28, 2003. The entire disclosures of all of theabove-identified applications are hereby incorporated by reference.

BACKGROUND OF THE INVENTION

The present invention relates to a method and a system for collectingthe performance data of hardware devices constituting a storage networkand the software operated in the hardware devices, or in particular amethod and a system for collecting the storage network performance datasuitable to a case in which the network is increased in scale to such anextent that the component elements for which the performance data are tobe collected are vast in number.

A storage network so configured that a centralized storage is accessedfrom a plurality of host servers through the network is extending widelyas an architecture for a data center to improve the utilization rate andreduce the management cost of the storage ever on the increase in scale.

The performance management software meets this situation by beingconfigured of an agent arranged in a network for each hardware device orsoftware for which the performance is to be monitored, and themanagement software for centrally managing the performance data for thewhole network. Each agent acquires the performance data by directcommunication with each object to be monitored, while the managementsoftware collects and accumulates the performance data acquired by theagents and supplies the performance data in response to a request of astorage network manager or the like.

Apart from the storage network, take a computer network as an example. Amethod and a system having a similar configuration to theabove-mentioned method and system for monitoring the performance of aplurality of server devices in a network environment are disclosed inU.S. Pat. No. 6,505,248.

With the extension of the centralized storage based on a storagenetwork, the component elements of the network increased in scale hasbecome vast in number and the correlation between the component elementstends to be complicated more and more.

In order to monitor the performance of an application system and carriesout the tuning in this storage network environment, the performance datafor various hardware devices and software making up the network arerequired to be comprehensively collected and the correlation betweenthem and the temporal change thereof are required to be grasped.

A technique for automating the collection of the dispersed performancedata is indispensable for the performance management of this kind of thestorage network. With a further increase expected in the scale of thenetwork, however, automatic comprehensive collection of the performancedata for all the component elements of the network may becomeconsiderably difficult in terms of the processing capacity including thestorage capacity, computation performance and the communicationperformance.

In order to monitor and tune the performance of an application system ina large storage network environment, it is necessary to collect theperformance data on the various hardware devices and software making upthe network comprehensively and to grasp the correlation between themand the temporal change thereof.

This is by reason of the fact that unlike in the conventionalarchitecture in which each application system is independentlyassociated with a corresponding server with a computer processing systemand an external storage connected directly to each other, the storagenetwork environment is liable to develop an interference in performancebetween application systems at a portion shared by the network devicesand the storage systems.

In some conventional techniques, the collecting operation for theperformance data can be switched on/off for each network componentelement by manual updating operation of the user. The use of thisfunction could limit the amount of the performance data to be collected.For this purpose, however, elements to be emphasized and elements to beignored are required to be discriminated from each other in advance.

This is a considerably tough job for a storage network environment inwhich various applications having different tendencies, of theperformance load are unified and a vast number of component elementsaffect each other in complicated way. Also, the manual operation of theuser may cause the timing of acquiring crucial information to be lost ora problem, if any, to be detected too late.

SUMMARY OF THE INVENTION

The object of this invention is to provide a method of collecting thestorage network performance data which solves the problem describedabove.

In order to achieve this object, according to one aspect of thisinvention, there is provided a method of collecting the performance datafor each of the devices constituting a storage network and the softwareoperated on the devices, wherein the range or degree of data collectionis adjusted as required based on the performance data collected. Thedevices constituting the storage network include one or a plurality ofcomputer systems, one or a plurality of external storages and one or aplurality of network systems for transmitting/receiving input/outputdata between the computer systems and the external storages.

According to another aspect of the invention, there is provided a methodof collecting the performance data for a storage network including atleast a computer, at least a storage and at least a network system fortransmitting/receiving the input/output data between the computer andthe storage, wherein the performance data are collected from at leastone of the computer, the storage and the network system, and the rangeor frequency of collecting the performance data is updated based on theperformance data collected and the conditions set for collection of theperformance data.

Other objects, features and advantages of the invention will becomeapparent from the following description of the embodiments of theinvention taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing an embodiment of the invention.

FIG. 2 is a diagram showing a system configuration according to anembodiment of the invention.

FIG. 3 is a diagram showing a specific example of resources and theinterdependency relation between the resources in respect ofperformance.

FIG. 4 is a diagram showing an example of a performance data displayscreen in table form.

FIG. 5 is a diagram showing an example of a performance data displayscreen in graph form.

FIG. 6 is a diagram showing an example of a screen for setting thedefault performance data collection status.

FIG. 7 is a diagram showing an example of an update rule setting screenfor the performance data collection status.

FIGS. 8A and 8B are a diagram showing an example of the tableconfiguration and the table structure of a related resources informationstorage used by a database performance data collection agent of a serverA.

FIG. 9 is a diagram showing an example of the structure of a performancedata collection status table used by the database performance datacollection agent of the server A.

FIG. 10 is a diagram showing an example of the structure of the metricsvalue table used by the database performance data collection agent ofthe server A.

FIGS. 11A and 11B are a diagram showing an example of the tableconfiguration and the table structure of a related resources informationstorage used by the host performance data collection agent of the serverA.

FIG. 12 is a diagram showing an example of the structure of theperformance data collection status table used by the host performancedata collection agent of the server A.

FIG. 13 is a diagram showing an example of the structure of the metricsvalue table used by the host performance data collection agent of theserver A.

FIGS. 14A and 14B are a diagram showing an example of the tableconfiguration and the table structure of the related resourcesinformation storage used by the database performance data collectionagent of a server B.

FIG. 15 is a diagram showing an example of the structure of theperformance data collection status table, used by the databaseperformance data collection agent of the server B.

FIG. 16 is a diagram showing an example of the structure of the metricsvalue table used by the database performance data collection agent ofthe server B.

FIGS. 17A and 17B are a diagram showing an example of the tableconfiguration and the table structure of the related resourcesinformation storage used by the host performance data collection agentof the server B.

FIG. 18 is a diagram showing an example of the structure of theperformance data collection status table used by the host performancedata collection agent of the server B.

FIG. 19 is a diagram showing an example of the structure of the metricsvalue table used by the host performance data collection agent of theserver B.

FIG. 20 is a diagram showing an example of the table configuration andthe table structure of the related resources information storage used bya SAN switch performance data collection agent.

FIG. 21 is a diagram showing an example of the structure of theperformance data collection status table used by the SAN switchperformance data collection agent.

FIG. 22 is a diagram showing an example of the structure of the metricsvalue table used by the SAN switch performance data collection agent.

FIG. 23 is a diagram showing an example of the table configuration andthe table structure of the related resources information storage used bya subsystem performance data collection agent.

FIG. 24 is a diagram showing an example of the structure of theperformance data collection status table used by the subsystemperformance data collection agent.

FIG. 25 is a diagram showing an example of the structure of the metricsvalue table used by the subsystem performance data collection agent.

FIGS. 26A and 26B are a first portion of a diagram showing an examplethe table configuration and the table structure of the related resourcesinformation storage used by the storage network performance managementsoftware.

FIGS. 27A and 27B are a second portion of a diagram showing an examplethe table configuration and the table structure of the related resourcesinformation storage used by the storage network performance managementsoftware.

FIG. 28 is a third portion of a diagram showing an example the tableconfiguration and the table structure of the related resourcesinformation storage used by the storage network performance managementsoftware.

FIG. 29 is a diagram showing an example of the structure of theperformance data collection table used by the storage networkperformance management software.

FIG. 30 is a diagram showing an example of the structure of the metricsvalue table used by the storage network performance management software.

FIG. 31 is a diagram showing an example of the structure of a collectionstatus update rule table.

FIG. 32 is a diagram showing an example of the structure of a defaultperformance data collection status table.

FIG. 33 is a diagram showing an example of the structure of an updaterule activation status table.

FIG. 34 is a flowchart showing the steps of the performance datacollection process of the performance data collection agent and thestorage network performance management software.

FIG. 35 is a flowchart showing the steps of the collection status updateprocess of the storage network-performance management software.

DESCRIPTION OF THE EMBODIMENTS

An embodiment of the invention will be explained below with reference tothe drawings.

FIG. 1 is a diagram showing a system configuration according to anembodiment of the invention. The hardware constituting an applicationsystem on the basis of a storage network includes application clients201 to 204, a local area network (LAN) 205, host servers 209 to 211,storage area network (SAN) switches 225 to 227, a storage subsystem 234and a network attached storage (NAS) 208. The software, on the otherhand, includes the application software 212, the database (DB)management software 214 and the operating system (OS) 216. The storagesubsystem is defined as a storage including a plurality of storage mediasuch as hard disks and a controller for controlling the storage mediaaccording to the RAID (redundant array of independent disks) scheme.

The application clients 201 to 204 include devices such as personalcomputers, work stations and thin client terminals for providing theuser interface function of an application system, and establishcommunication with the application software 212, etc. of the hostservers 209 to 211 through the LAN 205. The application clients 201 to204 may be portable terminals or the like having the function oftransmitting/receiving data.

The application software 212 is for providing the application logicfunction of an application system, and in response to a processingrequest from the application clients 201 to 204, requests the databasemanagement software 214 to access and update the data as required. Thedatabase management software 214 is for providing the data managementfunction of an application system, and in response to a request from theapplication software 212, executes the process for definition, operationand management of the data stored in the storage subsystem 234 and theNAS 208.

The application software 212 and the database management software 214used by the application software 212 may be operated by either the samehost server or different host servers. The data in the storage subsystem234 is accessed from the database management software 214 through anoperating system 216, host bus adaptor ports 218 to 220, host-side ports221 to 223 of SAN switches, the SAN switches 225 to 227, storage-sideports 228 to 230 of the SAN switches and ports 231 to 233 of the storagesubsystem. On the other hand, the data of the NAS 208 are accessed fromthe database management software 214 through the operating system 216and the LAN 205.

The hardware constituting a system for performance management of astorage network and an application system include a performancemanagement client 129, a performance management server 240 andperformance data collection servers 206, 235, 237. The software, on theother hand, include storage network performance management software 109,an application software performance data collection agent 213, databaseperformance data collection agent 215, a host performance datacollection agent 217, a subsystem performance data collection agent 238,a NAS performance data collection agent 207 and a SAN switch performancedata collection agent 236.

The performance management client 129 is a device for providing the userinterface function of the storage network performance managementsoftware 109, and communicates with the storage network performancemanagement software 109 of the performance management server 240 throughthe LAN 205. A configuration in which a general-purpose personalcomputer is used as the performance management client 129, and the Webbrowser software operating on this personal computer constitutes aspecific user interface is a typical example. In this configuration, theWeb server software is operated on the computer used as the performancemanagement server 240, and the performance data collected by the storagenetwork management software 109 and the data required for turning aresent to the Web browser by HTTP (Hyper Text Transfer Protocol) throughthe Web server software and displayed on the screen.

The storage network performance management software 109 provides thefunction of collecting and analyzing the storage network performancedata, and in order to acquire the performance data from the varioussoftware and hardware making up the network, uses dedicated performancedata collection agent software for each hardware or software. The agentscan be configured and arranged in any of various ways, one of which isexplained below as an example. According to this embodiment, a dedicatedagent (program) is used as an example, although other methods may beemployed with equal effect.

The storage network performance management software 109 receives thedata input by the user from the program operated at the performancemanagement client 129 and provides the result of analysis of theperformance data. Also, the storage network performance managementsoftware 109 transmits instructions and various commands to otherprograms (various agents, etc.) to collect the performance data.Further, the storage network performance management software 109 managesthe configuration information and the collection status of theperformance data and analyzes the performance thereof. These functionswill be explained in detail later with reference to FIG. 2.

The application software performance data collection agent 213 and thedatabase performance data collection agent 215 are programs foracquiring the performance data on the application software 212 and thedatabase management software 214, respectively. The host performancedata collection agent 217 acquires the performance data on the hostserver 209, the operating system 216 and the host bus adaptor ports 218to 220. The subsystem performance data collection agent 238 acquires theperformance data on the storage subsystem 234 and the ports 231 to 233thereof through the host bus adaptor port 239 and the SAN switches.

The NAS performance data collection agent 207 acquires the performancedata on the NAS 208 through the LAN 205. The SAN switch performance datacollection agent 236 also acquires the performance data on the SANswitches 225 to 227 and the ports 221 to 223 and 228 to 230 thereofthrough the LAN 205. The subsystem performance data collection agent238, the NAS performance data collection agent 297 and the SAN switchperformance data collection agent 236 may be operated either bydedicated performance data collection servers, respectively, or by thesame server. In either case, communication is carried out with thestorage network performance management software 109 through the LAN 205.

FIG. 2 is a block diagram showing a configuration according to anembodiment of the invention. Storage network component hardware orsoftware 101 to 105 constitute the hardware or software of which theperformance is monitored in the storage network. The storage networkcomponent hardware or software 101 to 105 shown in FIG. 2 correspond toany one of the host servers 209 to 211, the host bus adaptor ports 218to 220, the application software 212, the database management software214, the operating system 216, the storage subsystem 234 and the ports231 to 233 thereof, the NAS 208, the SAN switches 225 to 227 and theports 221 to 224 and 228 to 230 thereof shown in FIG. 1.

The performance data collection agents 106 to 108 shown in FIG. 2 arethe software for acquiring the performance data from the storage networkcomponent hardware or software 101 to 105. The performance datacollection agents 106 to 108 correspond to any one of the applicationsoftware performance data collection agent 213, the database performancedata collection agent 215, the host performance data collection agent217, the subsystem performance data collection agent 238, the NASperformance data collection agent 207 and the SAN switch performancedata collection agent 236 shown in FIG. 1.

The performance data of the storage network are collected and monitoredin the manner described below. The performance data collector 123 of theperformance data collection agent 106 is activated periodically by atimer in accordance with the schedule set by each agent or in responseto a request of the storage network performance management software 109.The performance data collector 123, upon activation, accesses theperformance data collection status table 120 and checks the collectionstatus such as the advisability, frequency and the last date and time ofcollection for the performance items of the storage network componenthardware or software in charge of the agent 106.

The individual performance items of the network component elements thatcan be candidates for performance monitor are called the metrics.Examples of the metrics include the CPU utilization rate, the memoryusage rate, the storage I/O frequency, the storage I/O busy rate, thetransfer rate and the throughput, the buffer hit ratio and the number oftimes the records are inserted, updated and deleted for the databasemanagement software, the response time of the Web servers, the availablecapacity, the utilization rate, the input/output data amount, theutilization time of the file systems and the disks, the number of errorsof the network interfaces, the buffer overflow and the frame error.

The performance data collector 123, based on the result of checking thecollection status of the performance data, requests the transmission ofa measurement from the storage network component hardware or softwareperformance data acquirer 122 capable of measuring the metrics to becollected. The metrics values transmitted from the performance dataacquirer 122 in response to this request are stored in the metrics valuetable 124 by the performance data collector 123.

Similarly, the performance data collector 126 of the storage networkperformance management software 109 is periodically activated inaccordance with a set schedule. The performance data collector 126, uponactivation, searches the performance data collection status table 121for the collection status of all the metrics in the network, andrequests the performance data responder 125 of the correspondingperformance data collection agent 106 to transmit a metrics value to becollected. The performance data responder 125 that has received therequest to transmit the metrics value retrieves the requested metricsvalue from the metrics value table 124, and transmits it to theperformance data collector 126. The metrics value transmitted from theperformance data responder 125 is stored in the metrics value table 127by the performance data collector 126.

The performance analysis display 128 of the storage network performancemanagement software 109, in response to the request of the performancemanagement client 129, retrieves and sends back a metrics value from themetrics value table 127. The performance analysis display 128, to meetthe performance analysis request, may utilize the relation between thenetwork component elements. The information on the relation between thenetwork component elements is retrieved from the related resourceinformation storage 115 by the performance analysis display 128.

The component elements of the storage network which constitute a unitfor acquiring a cluster of metrics values is called a resource. Aspecific example of the resource and the relation between the resourcesis explained later with reference to FIG. 3. Also, a specific example ofthe screen displayed by the performance analysis display 128 on theperformance management client 129 is explained later with reference toFIGS. 4 and 5. Further, the processing steps in the performance datacollector 123 and the performance data collector 126 are explained indetail with reference to FIG. 34.

The related resources information are collected, like the performancedata, in the following manner. The configuration information collector111 of the performance data collection agent 106 is activatedperiodically according to a set schedule or at the request of thestorage network performance management software 109. The configurationinformation collector 111, upon activation, requests the transmission ofthe related resources information from the storage network componenthardware or software configuration information acquirer 110 in charge ofthe agent associated with it, receives the requested information, andstores the received information in the related resources informationstorage 112. The data from the various devices may be acquired by use ofiSNS (Internet Storage Name Server). The device status, on the otherhand, may be acquired by use of ESI (Entity Status Inquiry). The data onthe devices making up the storage network may be acquired also by othermethods.

The configuration information collector 114 of the storage networkperformance management software 109 is activated periodically by a setschedule. The configuration information collector 114, upon activation,requests the configuration information responders 113 of all theperformance data collection agents of the network (or the configurationinformation responder 113 included in an agent communicable with theconfiguration information collector 114) to transmit the relatedresources information collected by each agent. The configurationinformation collector 114, upon receipt of the requested data retrievedfrom the related resources information storage 112, stores the receivedinformation in the related resources information storage 115.

The method of collecting the performance data is updated in thefollowing way. Specifically, the collection status updater 117 of thestorage network performance management software 109 is activated withthe periodic interruption at a timing set by scheduling or the updatingof the metrics value table 127 as a motive. The collection statusupdater 117, upon activation, determines a method of updating thecollection method with reference to the collection status updateinformation storage 118, the related resources information storage 115and the metrics value table 127, and in accordance with thisdetermination, updates the performance data collection status table 121,while at the same time requesting the collection status updater 116 ofthe performance data collection agent 106 to update the performance datacollection status table 120.

The update rule configurer 119 of the storage network performancemanagement software 109, at the request of the performance managementclient 129, updates the contents of the collection status updateinformation storage 118 to change the method of collecting theperformance data. A specific example of the screen displayed by theupdate rule configurer 119 at the performance management client 129 isexplained with reference to FIGS. 6 and 7. The processing steps in thecollection status updater 117 of the storage network performancemanagement software 109 are explained in detail later with reference toFIG. 35.

FIG. 3 is a diagram showing a specific example of resources and theinterdependency relation of performance between the resources. Theresource is a component element of the network for which a cluster ofmetrics values can be acquired as an appropriate unit in monitoring theperformance of the storage network. Various types of resources areavailable for each of specific hardware devices and software making upthe storage network. The resources in a storage network affect eachother in respect of performance.

The hardware of the storage network shown in FIG. 3 is configured of twohost servers including a server A (301) and a server B (302), four SANswitches including a switch A (331), a switch B (338), a switch C (345)and a switch D (352), and one storage subsystem including a subsystem A(359).

In the server A, in order to acquire the performance data of thedatabase management software, the server hardware and the operatingsystem, assume that a corresponding database performance data collectionagent and a corresponding host performance data collection agent areoperated. The table A (303), the table B (304), the table C (306), theindex A (305), the index B (307), the table space A (311), the tablespace B (312) and the table space C (313) are managed by the databasemanagement software, and constitute an example of the resources forwhich the data are acquired by the database performance data collectionagent. In other words, the table, the index and the table space arerelated to each other for database performance evaluation and handled asa group.

The table is the very data conforming with the expression format of therelational database management software, while the index is the data forincreasing the speed of table search. The table space, on the otherhand, is a logical unit indicating an area for storing tables andindexes in the database management software.

In FIG. 3, the lines connecting the table A and the table B to the tablespace A, for example, indicate the relation in which the table A and thetable B are stored in the table space A. This relation also representsthe performance interdependency relation in which the load imposed whenthe application software accesses or updates the table A or the table Balso causes a load for reading from or writing in the table space A. Inother words, the operation of the database management software to accessand update a table gives rise to the requirement of the operation ofaccessing a table space. In this case, an increase in the input/outputoperation by accessing the table increases the input/output operationfor the table space, thereby increasing the load of the input/outputoperation for the table space.

The files A (315) to G (321), the volumes A (325) to C (327) and theport A (329) are an example of the resources on which the data are to beacquired by the host performance data collection agent. The file is aunit of the data input/output service provided by the operating system,and the volume is an area, managed by the operating system, in anexternal storage where the file is stored. Like the interdependencyrelation between the table and the table space, a file is assigned fortable space storage, and a volume is assigned for file storage.Therefore, these resources have a performance interdependency relationwith each other. In the case of FIG. 3, the table space A is stored inthe files A to C, which in turn are stored in the volume A. Therefore,the interdependency relation exists between the table space A and thefiles A to C on the one hand and between the files A to C and the volumeA on the other.

Assume that the database performance data collection agent and the hostperformance data collection agent are operated also in the server B. Theresources for which the data are to be acquired by the databaseperformance data collection agent of the server B include a table D(308), a table E (309), an index C (310) and a table space D (314),while the resources for which the data are to be acquired by the hostperformance data collection agent of the server B include a file H(322), a file I (323), a file J (324), a volume D (328) and a port B(330).

Assume that the SAN switch performance data collection agent isoperating to acquire the performance data of the switches A to D. Theresources for which the data are to be acquired by this agent include aport C (332), a port D (333), a port E (334), other ports (335 to 337)of the switch A, a port F (339), a port G (340), other ports (341 to344) of the switch B, a port H (346), a port I (347), other ports (348to 351) of the switch C, a port J (353), a port K (354), a port L (355),a port M (356) and other ports (357, 358) of the switch D.

Assume that the subsystem performance data collection agent is operatingto acquire the performance data of the subsystem A. The resources forwhich the data are to be acquired by this agent include a port N (360),a port O (361), a port P (362), a logical volume A (363), a logicalvolume B (364), a logical volume C (365), a logical volume D (366), aparity group A (367), a parity group B (368) and physical disks (369 to374).

The parity group is configured of a plurality of hard disk drives whichappear to be a logically single fast and reliable disk drive due to thefunctions of the storage subsystem. The logical value, on the otherhand, is such that a single parity group is divided by the functions ofthe storage subsystem thereby giving the appearance of a logical diskdrive of a size meeting the application of the host server.

The volume of the host server is assigned to the logical volume of thestorage subsystem, the logical volume is assigned to the parity group,and the parity group is assigned to the physical disk. Thus, theperformance interdependency relation exists between these resources are.Once a pair of the volume of the host server and the logical volume ofthe storage subsystem assigned the same volume is determined, the pathfrom the port of the host bus adaptor to the port of the storagesubsystem through the ports of the SAN switches is determined as adistribution path of the input/output data exchanged between thesevolumes. Thus, the input/output load imposed on the volume of the hostserver constitutes a communication load imposed on the ports along thepath. Therefore, the performance interdependency relation exists betweenthe pair of the volume and the logical volume on the one hand and theports along the path on the other.

In the case of FIG. 3, the volume A is assigned to the logical volume A,the logical volume A to the parity group A, and the parity group A tothe physical disks 369 to 371. The pair of the volume A and the logicalvolume A corresponds to the path including the ports A, C, D, H, I and Nin that order. Thus, the performance interdependency relation existsbetween these resources.

FIG. 4 shows an example of the screen for displaying the performancedata in table form. This screen is displayed to the performancemanagement client 129 by the performance analysis display 128. Thecontents of display are a comparison of the metrics values including the“I/O number per second” (403) and the “transfer rate” (404) at the sametime point (401) for a plurality of volumes (402).

FIG. 5 shows an example of the performance data display screen in graph.This screen is also displayed to the performance management client 129by the performance analysis display 128. The abscissa (503) and theordinate (502) of the graph represent the time and the value of themetrics “transfer rate” (501), respectively. The contents of display inFIG. 5 are for comparing the temporal change of the transfer rate for aplurality of volumes (504).

The contents of display shown in FIGS. 4 and 5 are only an example, andvarious display methods are available other than for comparing theperformance of a plurality of volumes. In the case where a clientcomputer gives an instruction to display a given resource, for example,a plurality of metrics included in the designated resource may bedisplayed for comparison. As another example, the metrics data for thedevices of the same model may be displayed collectively for eachresource, or an average value for the devices of each type may bedisplayed. In the case where an identifier of a given network device isdesignated, the metrics value of a resource including the designatednetwork device may be displayed in correspondence with the metrics valueof the resource related to the designated resource.

Assume, for example, that the information is stored on the elementsincluding the volume A, the logical volume A, the ports A, C, D, H, Iand N defined as a cluster of resources. The storage network performancemanagement software, in response to an instruction received from theclient computer to designate the logical volume A, determines whetherthe information predefined as resources includes the data received ornot. In the case where the received information includes the logicalvolume A, the storage network performance management software, based onthe resources information containing the logical volume A, displays theperformance data of the elements including the volume A, the logicalvolume A and the ports A, C, D, H, I and N. In this case, a plurality ofports are displayed on the same coordinate axis as a graph, while thevolume A and the logical volume A may be displayed as different graphs.Also, in displaying these performance data, as shown in FIG. 3, thecorrespondence between a server, a switch and a storage may bedisplayed, with the icons illustrating each element displayed togetherwith the performance data.

FIG. 6 shows an example of the screen of the default performance datacollection status. This screen is displayed to the performancemanagement client 129 by the update rule setter 119, and used by theuser to designate the default collection level of the metrics of all theresources in the storage network. The screen shown in FIG. 6 may bedisplayed either on the screen using the browser or the like in theclient computer or by other methods.

The metrics collection level is a parameter indicating the degree andfrequency of collection, and includes, for example, OFF (not collected),HOUR (collected once per hour), MINUTE (collected once per minute) andSECOND (collected once per second). This is only an example of the timeintervals at which the data are collected, and the data mayalternatively be collected only in the case where the storageconfiguration or the network system undergoes a change.

The resources in the storage network are classified and displayed in atree structure based on the type and origin in the display field of thescreen 601. The resource tree may be displayed on the screen inaccordance with the coordinates of display predetermined for each of thefactors including the storage device, the database management softwareand the host server.

The contacts or the contact labels in the tree structure are selected bythe user with the mouse pointer or the like. The contact label isdefined as the name of a resource or a resource classification groupcorresponding to a given setting. The “table space A”, “table space B”and “database A”, for example, are resource names. The “table space” andthe “database management software” are the names of the groups intowhich the resources are classified. In other words, the group name ofthe resources “table space A” and “table space B” is the “table space”.

In response to the selection made by the user as described above, a listof the selected resource (603), the metrics (604) and the defaultcollection level (605) is displayed in the display field 602.

In the case of FIG. 6, the table space of the database managementsoftware operated on the server A of FIG. 3 is selected, and the defaultcollection level is displayed for all the metrics of the table spaces Ato C. By changing the contents displayed in the field 605, the defaultsetting of data collection can be changed. The default performance datacollection status table for storing the contents set on this screen isdescribed in detail later with reference to FIG. 32.

FIG. 7 shows an example of the screen for setting the update rule of theperformance data collection status. This screen is also displayed in theperformance management client 129 by the update rule setter 119. Theupdate rule setting screen is used by the user for inputting the updaterule to designate the method of collecting the metrics value. As in thecase of FIG. 6, once a contact point of the tree structure in thedisplay field 701 is selected, a list of the ID numbers (705) of theupdate rule defined for the corresponding resource (703) and the metrics(704) is displayed in the display field 702. Also, the contents of theupdate rule selected from the list are displayed in the display field723. In the case of FIG. 7, the table space A is selected in the displayfield 701, and a list of the update rules defined for the table space Ais displayed in the display field 702. In the display field 723, on theother hand, the contents of the rule No. 11 in selected state in thedisplay field 702 is displayed.

The update rule display field 723 includes an update rule number displayfield 706, an update condition designation field 707, an update ruledesignation field 716 and an update method designation field 720. Theupdate condition designation field 707 further includes fields fordesignating a resource (708), a metrics (709) thereof and a metricsvalue status (710) constituting a motive of application of this rule.

A list of choices used for indicating the trend of the value level andchange is displayed in the metrics value status designation field 710.Examples of the choices are:

(1) The metrics value exceeds a reference value designated by theparameter (711).

(2) The metrics value increases at more than the rate designated by theparameter with respect to the value as of one hour before (712).

(3) The metrics value increases at more than the rate designated by theparameter with respect to the value as of the same time point on thepreceding day (713).

(4) The metrics value increases at more than the rate designated by thesecond parameter with respect to the average value nearest to the timepoint designated by the first parameter (714).

(5) The current moving average of the metrics value taken for eachnumber of points designated by the parameter exceeds the precedingmoving average (715). (For example, the performance data is acquired atthe time points of one o'clock, two o'clock and three O'clock, and thesum of the acquired performance data values is divided by three therebyto acquire the moving average at three o'clock. The performance data areacquired at three o'clock, four o'clock and five o'clock, and from theperformance data values thus acquired, the average is determined therebyto determine the moving average at five o'clock. The values of thesemoving averages are compared and the difference is determined. Dependingon the metrics value, the performance data may be acquire at smallertime intervals. In the case where the variation is small, the movingaverage value may be acquired and determined once every several months.)

In the case of FIG. 7, the table space A and the number of I/Os persecond are selected in the resource designation field 708 and themetrics designation field 709. In the metrics value status designationfield 710, the choice 711 is selected and 800 is input as a parameterthereof. This setting is indicative of the update condition “the numberof I/Os per second in the table space A exceeds 800”.

The updated resource designation field 716 includes the fields fordesignating the resource (717), the related resource (178) with theresource (717) as an origin and the metrics (719), respectively. Oncethe update rule is applied, the method of collecting the metricsdesignated in the field 719 is changed for the resources designated inthe fields 717 and 718. A list of the choices used for indicating theresources to which the rule is applicable is displayed in the relatedresource designation field 718. Examples of the choices include:

(1) Only the resource designated in the field 717.

(2) All the resources on the path upstream tracing the inter-resourceperformance dependency relation (toward the performance load-imposingside) from the resource designated in the field 717 as an origin.

(3) All the resources on the path downstream tracing the inter-resourceperformance dependency relation (toward the performance load-imposedside) from the resource designated in the field 717 as an origin.

(4) All the resources on the path upstream and downstream tracing theinter-resource performance dependency relation from the resourcedesignated in the field 717 as an origin.

(5) All the resources on the path upstream and downstream tracing theinter-resource performance dependency relation from the resourcedesignated in the field 717 as an origin, and all the resources on thepath upstream and downstream tracing the inter-resource performancedependency relation from each resource on the path as a new origin.

The “performance load-imposing side” is defined as the side connectedwith the computer in which the software using the storage subsystem suchas the database management software is operating. The “performanceload-imposed side”, on the other hand, is defined as the side nearer tothe storage subsystem.

The aforementioned inter-resource relation governed by the rule is onlyan example, and other appropriate relations may be used. For example,the information on the bus between a storage and a server (storage portnumber, WWN (World-Wide Name), switch port number, host port number,host name, IP address, etc.) are stored in advance, and based on the businformation, the presence or absence of the interdependency relationbetween the resources may be determined.

The interdependency relation between the resources may be determined insuch a manner that the direction in which the computer is connected forexecuting the application program of the devices included in the path isupstream, and the direction in which the storage is connected isdownstream. In the configuration shown in FIG. 3, for example, aplurality of paths lead from the table A 303 to the parity group A. Asan example, take the path leading from the table A through the tablespace A, the file B, the volume A, the ports A, C, D, H, I and N, thelogical volume A to the parity group A. In this path, the table A, tablespace A, the file B and the volume A are located upstream of the volumeA, while the volume A, the ports A, C, D, H, I and N, the logical volumeA and the parity group A are located downstream of the volume A.Although only one path is taken as an example in this case, theresources to be governed by the rule can be designated alternatively bydetermining the upstream and downstream sides on a plurality of pathsusing a similar method.

The interdependency relation between the resources may be determined inother ways. By designating other resources having an interdependencyrelation with a given single resource as well as the particular resourcealone, therefore, the labor of setting for individual resources can besaved.

Specific examples of the interdependency relation between resources isexplained with reference to FIGS. 8A, 8B, 11A, 11B, 14A, 14B, 17A, 17B,20 and 23.

In the case of FIG. 7, for example, the table space A is selected in theresource designation field 717, and a choice including the resourcesupstream and downstream of the path is selected in the related resourcedesignation field 718. The asterisk (*) shown in the metrics designationfield 719 indicates all the metrics of corresponding resources.Therefore, the setting of FIG. 7 is indicative of the fact that “themethod of collecting all the metrics for the table space A and theresources upstream and downstream thereof is changed”.

In the metrics designation field 719, either all the metrics may bedesignated as described above or a plurality of items such as “accessfrequency, port I/O frequency” by the user. Also, in accordance with theitems designated in the related resource designation field 718, the usermay select a metrics that can be designated and display the selectedmetrics on the screen as a menu.

The update method designation field 720 includes the field designatingthe collection level (721) and the field designating the requirement ofautomatic restoration (722). A list of choices for the metricscollection method used for application of the rule is displayed in thecollection level designation field 721. Examples of the choices include:

(1) No metrics value is collected (OFF)

(2) The metrics value is collected once per hour (HOUR)

(3) The metrics value is collected once per minute (MINUTE)

(4) The metrics value is collected once per second (SECOND)

These timing of collecting the metrics data are only an example, andother choices may also be used. In accordance with the resources ormetrics designated, for example, the timing of data collection may bechanged.

In addition to the choices for the time interval of performance datacollection and the choices for the requirement of performance datacollection, a choice “data is collected once per 0.3 seconds”, forexample, may be set.

A list of choices as to how the effects of the change at the time of therule application are handled after canceling the conditions for the ruleapplication is displayed in the field 722 for designating therequirement of automatic restoration. These choices include:

(1) The effects are maintained even after the conditions are canceled(one-way)

(2) The effects are invalidated after the conditions are canceled(two-way)

The one-way choice is defined as a case in which the frequency of theperformance data collection may change from low to high figure, but notfrom high to low figure, i.e. a case in which the time interval of datacollection is never widened in the case where the conditions for theupdate rule application are canceled after narrowing the time intervalof data collection.

The two-way choice, on the other hand, is defined as a case in which thefrequency of performance data collection can be either decreased orincreased. In the case where the two-way choice is selected and theconditions for the update rule application are canceled, the datacollection frequency is restored to the original level. Specifically,the time interval of data collection from the resources involved may beeither widened or narrowed to attain the same data collection timeinterval as before the update rule application.

The time interval of acquiring the performance data is described aboveas an example. The one-way and two-way concepts, however, may be appliedalso for other events.

Even in the case where the two-way choice is selected, a plurality ofupdate rules having different collection levels may be applied to thesame metrics, and therefore the collection level before application isnot always restored after the conditions are canceled. In other words,even in the case where the application is canceled only for one updaterule while a plurality of update rules are applicable, the other updaterules may remain applicable.

The final collection method is determined with the highest collectionlevel among the effective update rules. Among the collection levelsdesignated in the collection level designation field 721, the one with ashort data sampling period is determined high in level.

To summarize the example setting in the designation fields 707, 716 and720 in FIG. 7, the update rule No. 11 is indicative of the fact that“once the number of I/Os per second in the table space A exceeds 800 persecond, all the metrics of the table space A and the resources upstreamand downstream thereof are changed to collect once for every minute(only in the case where the current collection level is lower). Also,once the conditions are canceled, the collection of all the metrics forthe table space A and the resources upstream and downstream thereof arerestored to the original level (or to a higher collection level whoseupdate rule may be effective)”.

The collection status update rule table for storing the contents of theupdate rule defined on the screen of FIG. 7 will be explained in detailwith reference to FIG. 31.

FIGS. 8A and 8B show an example of the table configuration and the tablestructure of the related resource data storage used by the databaseperformance data collection agent of the server A. Assume that numeral106 in FIG. 2 designates the database performance data collection agentof the server A shown in FIG. 3. The related resource data storage 112associated with it is configured of a database object-table spacerelation table 801 and a table space-file relation table 804. Thecontents of each table in FIGS. 8A and 8B are indicated by a storedvalue corresponding to the case of FIG. 3.

The database object-table space relation table 801 shown in FIGS. 8A and8B is for recording the performance interdependency relation between thetable resources or the index resources explained with reference to FIG.3 and the table space resources, and includes a database object ID field802 and a table space ID field 803. Each row in the table corresponds toone interdependency relation between the table or the index and thetable space. The name or code (hereinafter referred to as theidentifier) for identifying the table or the index is stored in thedatabase object ID field 802. The identifier of the table space havingthe interdependency relation with the table or the index designated inthe field 802 is stored in the table space ID field 803. In FIGS. 8A and8B, for example, the interdependency relation between the table A andthe table space A is recorded on the first row in the table.

The table space-file relation table 804 shown in FIG. 8 is for recordingthe performance interdependency relation between the table spaceresources and the file resources, and includes a table space ID field805 and a file ID field 806. Each row in the table corresponds to oneinterdependency relation between the table space and the file. Theidentifier of the table space is stored in the table space ID field 805,and the identifier of the file having the interdependency relation withthe table space designated in the field 805 is stored in the file IDfield 806. In FIGS. 8A and 8B, for example, the interdependency relationbetween the table space A and the file A is recorded as the contents ofthe first row in the table.

FIG. 9 shows an example of the table structure of the performance datacollection status table used by the database performance data collectionagent of the server A shown in FIG. 3. The performance data collectionstatus table 901 includes a resource ID field 902, a metrics ID field903, a collection level field 904 and a last collection date and timefield 905. Each row in the table indicates the collection status of agiven metrics of a given resource. The resource identifier and themetrics identifier are stored in the resource ID field 902 and themetrics ID field 903, respectively.

The current collection level of the metrics designated in the field 903for the resource designated in the field 902 is stored in the collectionlevel field 904. The last collection date and time for the value of themetrics of the resources designated in the fields 902 and 903 is storedin the last collection date and time field 905 as long as the field 903is not in OFF state. In the case where the field 902 is in OFF state, onthe other hand, the latest date and time passed with the collectionlevel OFF for the metrics of the resources designated in the fields 902and 903 is stored in the last collection date and time field 905. In theshown case, the fact that the value of the number of the insertedrecords in table A has yet to be collected and this status lasted up to15:00 o'clock, Jul. 31, 2003 is recorded in the first row of the table.In the last row but two of the same table, on the other hand, the factis recorded that the value of the transfer rate of the table space C iscurrently collected once every hour and that the last collection dateand time is 15 o'clock, Jul. 31, 2003.

FIG. 10 is a diagram showing an example of the structure of the metricsvalue table used by the database performance data collection agent ofthe server A shown in FIG. 3. The metrics value table 1001 includes adate and time field 1002, a resource ID field 1003, a metrics ID field1004 and a metrics value field 1005. Each row in the table indicates thevalue of a given metrics collected for a given resource at a given dateand time. The date and time when the metrics value is collected isstored in the date and time field 1002. The identifiers of the resourceand the metrics to be collected are stored in the resource ID field 1003and the metrics ID field 1004, respectively. The value of the metricscollected is stored in the metrics value field 1005.

In the case shown in FIG. 10, the fact that 165.3 was collected as thevalue of the number of I/Os per second in the table space A at 13:00o'clock, Jul. 31, 2003 is recorded in the first row of the table. Theperformance data collection agent has a processing unit for analyzingthe metrics value collected from the storage network component hardwareor software by the performance data collection agent. Thus, the totalvalue or the moving average of the metrics values is determined and maybe stored in the metrics value table held by each performance datacollection agent. Also, the performance data collection agent mayexecute such a process as totalizing the metrics values utilizing anexternal program.

FIGS. 11A, 11B, 14A, 14B, 17A, 17B, 20 and 23 each show an example ofthe table configuration and the table structure of the related resourcedata storage used by the host performance data collection agent of theserver A shown in FIG. 3, the database performance data collection agentof the server B shown in FIG. 3, the host performance data collectionagent of the server B shown in FIG. 3, the SAN switch performance datacollection agent and the subsystem performance data collection agent,respectively.

FIGS. 11A and 11B show an example of the data in the related resourcedata storage by the host performance data collection agent of the serverA shown in FIG. 3. The related resource data storage used by the hostperformance data collection agent of the server A includes a file-volumerelation table 1101 and a volume-logical volume-port relation table1104.

FIGS. 17A and 17B show an example of the data in the related resourcedata storage used by the host performance data collection agent of theserver B shown in FIG. 3. The related resource data storage used by thehost performance data collection agent of the server B includes afile-volume relation table 1701 and a volume-logical volume-portrelation table 1704.

The related resource data storage used by the database performance datacollection agent of the server B, like the database performance datacollection agent of the server A shown in FIGS. 8A and 8B, includes adatabase object-table space relation table 1401 and a table space-filerelation table 1404 shown in FIGS. 14A and 14B.

The related resource data storage used by the SAN switch performancedata collection agent utilizes the data of the inter-port communicationpath table 2001 shown in FIG. 20. The related resource data storage usedby the subsystem performance data collection agent includes a logicalvolume-parity group relation table 2301 shown in FIG. 23. The contentsof the tables shown in FIGS. 11A, 11B, 14A, 14B, 17A, 17B, 20 and 23 areshown in the state with the values corresponding to the case of FIG. 3stored therein.

A file-volume relation table (1101, 1701) is for recording theperformance interdependency relation between the file source and thevolume resource, and includes a file ID field (1102, 1702) and a volumeID field (1103, 1703). Each row in the tables corresponds to oneinterdependency relation between the file and the volume. A fileidentifier is stored in the file ID field (1102, 1702), and theidentifier of the volume having the interdependency relation with thefile designated in the file ID field is stored in the volume ID field(1103, 1703). In FIG. 11, for example, the interdependency relationbetween the file A and the volume A is recorded as the contents of thefirst row of the table 1101, and in FIGS. 17A and 17B, theinterdependency relation between the file H and the volume D is recordedas the contents of the first row of the table 1701.

A volume-logical volume-port relation table (1104, 1704) is forrecording the interdependency relation between the volume and thelogical volume, and the interdependency relation between the volume andthe logical volume on the one hand and the port nearer to the host busadaptor and the port nearer to the storage subsystem on the input/outputpath connecting the volume and the logical volume on the other hand. Thevolume-logical volume-port relation table (1104, 1704) includes a volumeID field (1105, 1705), a logical volume ID field (1106, 1706), ahost-side port ID field (1107, 1707) and a storage-side port ID field(1108, 1708).

A volume identifier is stored in the volume ID field (1105, 1705), andthe identifier of the logical volume having the interdependency relationwith the volume designated by the volume ID field is stored in thelogical volume ID field (1106, 1706). The identifier of the port nearerto the host bus adaptor on the input/output path connecting a volume anda corresponding logical volume is stored in the host-side port ID field(1107, 1707), and the identifier of the port nearer to the storagesubsystem is similarly stored in the storage-side port ID field (1108,1708).

In FIGS. 11A and 11B, for example, the interdependency relation of thevolume A with the logical volume A, the port A and the port N is storedas the contents of the first row of the table 1104, and in FIGS. 17A and17B, the interdependency relation of the volume D with the logicalvolume D, the port B and the port P is stored as the contents of thefirst row of the table 1704.

The information indicating the interdependency relation of performancemay include either the information on the metrics data and the resourceson the path for accessing the storage from the computer or theinformation on the storage. It also may include the information on thetable managed by the database management software, the information onthe file managed by the file system, the correspondence between theseinformation, or other information.

In the case where the information indicating the interdependencyrelation is stored in the storage, the path data held by the storagenetwork performance management software and the data on the computer orstorage are displayed on the screen using the client program (browser)or the like. Further, by receiving the designation on theinterdependency relation between the resources or between the metricsinput into the client program by the user, the information indicatingthe interdependency relation may be stored in the storage based on theparticular designation. As an alternative, the user may store theinformation indicating the interdependency relation in advance in therelated resource data storage, or other methods may be used.

The database object-table space relation table 1401 of the server Bshown in FIG. 14 includes a database object ID field 1402 and a tablespace ID field 1403. In similar fashion, the table space-file relationtable 1404 of the server B includes a table space ID field 1405 and afile ID field 1406, both fields having similar contents. In the case ofFIGS. 14A and 14B, for example, the interdependency relation between thetable D and the table space D is recorded on the first row of the table1401, and the interdependency relation between the table space D and thefile H on the first row of the table 1404.

The inter-port communication path table 2001 shown in FIG. 20 is forrecording the interdependency relation between the ports nearer to thehost bus adaptor and nearer to the storage subsystem on the one hand andthe SAN switch ports on the input/output path between the aforementionedtwo ports on the other hand. The inter-port communication path table2001 includes a host-side port ID field 2002, a storage-side port IDfield 2003 and a switch port IDs list field 2004.

The identifier of the port of the host bus adaptor is stored in thehost-side port ID field 2002, and the identifier of the port of thestorage subsystem is stored in the storage-side port ID field 2003. Aseries of identifiers of the SAN switch ports on the path connecting theport of the field 2002 and the port of the field 2003 is stored in theswitch port IDs list field 2004. In the case of FIG. 20, for example,the interdependency relation between the ports A and N on the one handand the port series therebetween (ports C, D, H and I) is recorded onthe first row of the table.

In the switch port IDs list field 2004 shown in FIG. 20, the portidentifiers are arranged in such a manner that the port identifiers ofthe switches connecting toward the server (the computer operated withDBMS, an application program, etc.) are arranged on the left side andthe port identifiers of the switches connected toward the storage arearranged on the right side. Using this correspondence of the ports, inthe case where one of “the upstream side of the bus”, “the downstreamside of the bus” and “the upstream and downstream sides of the bus” isdesignated, the left side of the port identifier group may be determinedas “the upstream side of the bus” and the right side of the portidentifier group as “the downstream side of the bus”.

As an example, take a case in which the user designates the “switch A”as a resource 717 and “including the downstream side of the bus” in therelated resource field 718 using the screen shown in FIG. 7. In the casewhere the data {ports C, D, H and I} is indicated in the switch port IDslist field 2004, the port D, but not port C of the switch A, nearer tothe storage and the resources arranged on the right side of the port Dare determined as located on the downstream side of the switch A. Inother words, the ports D, H and I are the resources included in thedownstream side of the bus.

The logical volume-parity group relation table 2301 shown in FIG. 23 isfor recording the interdependency relation between the logical volumeresource and the parity group resource. The logical volume-parity grouprelation table 2301 includes a logical volume ID field 2302 and a paritygroup ID field 2303. Each row in the table corresponds to oneinterdependency relations between the volume and the parity group. Theidentifier of the logical volume is stored in the logical volume IDfield 2302, and the identifier of the parity group having theinterdependency relation with the logical volume designated in the field2302 is stored in the parity group ID field 2303. In the case of FIG.23, for example, the interdependency relation between the logical volumeA and the parity group A is recorded on the first row of the table.

FIG. 12 is a diagram showing an example of the performance datacollection status table used by the host performance data collectionagent of the server A.

FIG. 15 is a diagram showing an example of the performance datacollection status table used by the database performance data collectionagent of the server B.

FIG. 18 is a diagram showing an example of the performance datacollection status table used by the host performance data collectionagent of the server B.

FIG. 21 is a diagram showing an example of the performance datacollection status table used by the SAN switch performance datacollection agent.

FIG. 24 is a diagram showing an example of the performance datacollection status table used by the subsystem performance datacollection agent.

The structure of the performance data collection status tables (1201,1501, 1801, 2101, 2401) used by these agents, like in the case of FIG.9, each include the resource ID field (1202, 1502, 1802, 2102, 2402),the metrics ID field (1203, 1503, 1803, 2103, 2403), the collectionlevel field (1204, 1504, 1804, 2104, 2404) and the last collection dateand time field (1205, 1505, 1805, 2105, 2405). The contents of eachfield are stored by a corresponding agent. For the data stored in eachfield, refer to the explanation made with reference to FIG. 9.

FIG. 13 is a diagram showing an example of a metrics value table used bythe host performance data collection agent of the server A.

FIG. 16 is a diagram showing an example of a metrics value table used bythe database performance data collection agent of the server B.

FIG. 19 is a diagram showing an example of a metrics value table used bythe host performance data collection agent of the server B.

FIG. 22 is a diagram showing an example of a metrics value table used bythe SAN switch performance data collection agent.

FIG. 25 is a diagram showing an example of a metrics value table used bythe subsystem performance data collection agent.

The structure of the metrics value tables (1301, 1601, 1901, 2201, 2501)used by these agents used by these agents, like in the case of FIG. 10,each include the date and time field (1302, 1602, 1902, 2202, 2502), theresource ID field (1303, 1603, 1903, 2203, 2503), the metrics ID field(1304, 1604, 1904, 2204, 2504) and the metrics value field (1305, 1605,1905, 2205, 2505). The contents of each field are stored by acorresponding agent. For the data stored in each field, refer to theexplanation made with reference to FIG. 10.

In the case of FIG. 21, all the values in the collection level field2104 of the performance data collection status table 2101 used by theSAN switch performance data collection agent are OFF, and therefore themetrics value table 2201 of FIG. 22 is vacant.

FIGS. 26A to 28 show an example of the table configuration and the tablestructure of the related resource data storage 115 used by the storagenetwork performance management software 109.

The related resource data storage 115 includes a database object-tablespace relation table 2601, a table space-file relation table 2604, afile-volume relation table 2701, a volume-logical volume-portcorrespondence table 2801 and a logical volume-parity group relationtable 2704. The contents of these tables are produced by combining thecontents of the related resource tables (801, 804, 1101, 1104, 1401,1404, 1701, 1704, 2001, 2301) of all the performance data collectionagents in the storage network, using the configuration informationcollector 114.

The database object-table space relation table 2601 shown in FIGS. 26Aand 26B, like the tables 801 and 1401, includes a database object IDfield 2602 and a table space ID field 2603. The data stored in eachfield are similar to those explained with reference to the table 801.

The configuration information collector 114 included in the storagenetwork performance management software 109 collects the data of thetables 801 and 1401, and all the rows of the tables 801 and 1401 arecombined to make up the rows of the table 2601.

The table space-file relation table 2604 shown in FIGS. 26A and 26B,like the tables 804 and 1404, includes a table space ID field 2605 and afile ID field 2606. Also, the data stored in each field are similar tothose explained with reference to the table 804.

The configuration information collector 114 included in the storagenetwork performance management software 109 collects the information ofthe tables 804 and 1404, and all the rows of the tables 804 and 1404 arecombined to make up the rows of the table 2604.

The file-volume relation table 2701 shown in FIGS. 27A and 27B, like thetables 1101 and 1701, includes a file ID field 2702 and a volume IDfield 2703. The data stored in each field are similar to those explainedabove.

The configuration information collector 114 included in the storagenetwork performance management software 109 collects the information ofthe tables 1101 and 1701, and all the rows of the tables 1101 and 1701are combined to make up the rows of the table 2701.

The volume-logical volume-port correspondence table 2801 shown in FIG.28, like the tables 1104, 1704 and 2001, includes a volume ID field2802, a logical volume ID field 2803, a host-side port ID field 2804, astorage-side port ID field 2805 and a switch port IDs list ID field2806. The data stored in each field are similar to those explained withreference to the table 1104.

The configuration information collector 114 included in the storagenetwork performance management software 109 collects the data of thetables 1104, 1704 and 2001, and all the rows of the tables 1104 and 1704are combined and coupled with the table 2001 with the host-side port andthe storage-side port as a key to make up the table 2801.

The logical volume-parity group relation table 2704 shown in FIGS. 27Aand 27B, like the table 2301, includes a logical volume ID field 2705and a parity group ID field 2706. The data stored in each field aresimilar to those explained with reference to the table 2301.

The configuration information collector 114 included in the storagenetwork performance management software 109 collects and stores the dataof the table 2301. The rows of the table 2704 coincide with those of thetable 2301.

In the configuration example shown in FIG. 3, only one storage subsystem(subsystem A) is monitored by only one agent, and therefore the table2704 coincides with the table 2301. Nevertheless, this is not always thecase. In the case of a configuration including a plurality of subsystemsand a plurality of agents, for example, the rows of a plurality of thetables are combined into one table and therefore the contents of thetable fail to coincide.

FIG. 29 is a diagram showing an example of the structure of theperformance data collection status table 121 used by the storage networkperformance management software 109. Each portion of the contents ofthis table is distributed to a corresponding agent in the network by thecollection status updater 117, so that the data are stored in theperformance data collection status table (901, 1201, 1501, 1801, 2101,2401) by the particular agent.

The performance data collection status table 121 shown in FIG. 29, likethe table 901, includes a resource ID field 2901, a metrics ID field2902, a collection level field 2903 and a last date and time field 2904.The data stored in each field are similar to those explained withreference to the table 901, etc. Except for the contents of the lastcollection date and time field, the rows of all the tables 901, 1201,1501, 1801, 2101 and 2401 are combined to make up the rows of the table121.

The last collection date and time fields of these tables are each usedindividually by a corresponding agent and storage network performancemanagement software, and therefore even the values of the correspondingrows may fail to coincide with each other.

FIG. 30 is a diagram showing an example of the structure of the metricsvalue table 127 used by the storage network performance managementsoftware 109. The contents of this table are produced by the storagenetwork performance management software 109 combining, using theperformance data collector 126, the contents of the metrics value tables(1001, 1301, 1601, 1901, 2201, 2501) from all the performance datacollection agents in the storage network. The metrics value table 127,like the table 1001, etc. includes a date and time field 3001, aresource ID field 3002, a metrics ID field 3003 and a metrics valuefield 3004. The data stored in each field are similar to those explainedwith reference to the table 1001, etc. The performance data collector126 collects the data of the tables 1001, 1301, 1601, 1901, 2201 and2501, and all the rows of the data collected are combined to make up therows of the table 127.

FIGS. 31 to 33 are diagrams showing an example of the tableconfiguration and the table structure of the collection status updatedata storage 118 used by the storage network performance managementsoftware. The collection status update data storage 118 includes acollection status update rule table 3101, a default performance datacollection status table 3201 and an update rule activation status table3301.

FIG. 31 is a diagram showing an example of the structure of thecollection status update rule table. The collection status update ruletable 3101 is for recording the contents of the update rule defined bythe user through the update rule setting screen explained with referenceto FIG. 7. The collection status update rule table 3101 includes anupdate condition resource field 3102, an update condition metrics field3103, an update rule number field 3104, an update condition code field3105, an update condition parameter list field 3106, an updated resourcefield 3107, an updated resource extension code field 3108, an updatedmetrics field 3109, a new collection level field 3110 and a changedirection code field 3111.

Each row of the collection status update rule table 3101 corresponds toone update rule. The identifier of the resource designated in the field708 and the identifier of the metrics designated in the field 709 arestored in the update condition resource field 310 and the updatecondition metrics field 3103, respectively. The number assigned eachtime of definition of a new rule and indicated in the field 706 isstored in the update rule number field 3104. The code for identifyingthe choice selected in the metrics value status designation field 710 isstored in the update condition code field 3105. In the case of FIG. 31,for example, the code “1” is stored in the update condition code field3105. The conditions 711 to 715 indicated in the metrics value statusfield 710 are assigned codes, respectively, thereby to store the codescorresponding to the conditions designated from the screen of FIG. 7. Inthe case under consideration, the code “1” corresponds to the condition711 in FIG. 7. Upon designation of the condition 711 by the user, thecode “1” is stored in the update condition code field 3105 of thecollection status update rule table 3101.

A list of parameters assigned to the choices selected in the field 710is stored in the update condition parameter list field 3106. Theidentifier of the resource designated in the field 717 is stored in theupdated resource field 3107. The code for identifying the choiceselected by the related resource designation field 718 is stored in theupdated resource extension code field 3108. As an example, fiveconditions, i.e. “independent”, “include upstream side of bus”, “includedownstream side of bus” “include upstream and downstream sides of bus”and “include upstream and downstream sides of adjacent bus” aredisplayed in the related resource designation field 718 of FIG. 7. Theseconditions are assigned the codes “1” to “5”, respectively. This exampleindicates a case in which the user has selected the choice “includeupstream and downstream sides of bus” in the related resourcedesignation field 718. Thus, the code “4” corresponding to the selectedcondition is stored in the updated resource extension code field 3108.

The identifier or the asterisk of the metrics designated in the field719 is stored in the updated metrics field 3109. The ID code of thecollection level designated in the field 721 is stored in the newcollection level field 3110. The code for identifying the choiceselected in the field 722 is stored in the change direction code field3111. In FIG. 31, for example, the update rule illustrated in the screenof FIG. 7 is recorded on the first row of the table. In the case of FIG.7, two conditions including “one-way” and “two-way” are indicated in theautomatic restoration possibility designation field 722. Theseconditions are assigned the codes “1” and “2”, respectively. In the caseof FIG. 7, for example, the user designates the condition “two-way”, andtherefore the code “2” corresponding to the designated condition isstored in the updated metrics field 3019. The correspondence between theconditions and the codes, which is used in this case as an example, maybe replaced with other correspondence to manage the data.

FIG. 32 is a diagram showing an example of the structure of the defaultperformance data collection status table. The default performance datacollection status table 3201 is for recording the default collectionlevel designated by the user on the screen explained with reference toFIG. 6. The default performance data collection status table 3201includes a resource field 3202, a metrics field 3203 and a defaultcollection level field 3204. The default collection level is registeredon each row of the table for each metrics and each resource. In order toreduce the table size, however, the registration is omitted for thecollection level of OFF. The identifier of the resource designated inthe field 603 and the identifier of the metrics designated in the field604 are stored in the resource field 3202 and the metrics field 3203,respectively. In FIG. 32, for example, the contents set on the first rowof the list in the display field 602 illustrated in FIG. 6 is recordedon the first row of the table.

FIG. 33 shows an example of the structure of the update rule activationstatus table. A plurality of update rules are generally required tochange the metrics collection level. In the case where a plurality ofupdate rules including the same metrics in the applicable range meet theapplicable conditions, the collection level is required to be set to thehighest one in the rules. Assume, on the other hand, that the applicableconditions of the rule are canceled. The collection level is restored tothe highest one among the remaining effective rules in the case wherethe two-way automatic restoration is designated, while the currentcollection level is maintained otherwise.

The update rule activation status table 3301 is for recording the updaterule in effective state to realize the process described above and thecollection level designated for metrics under the particular rule. Theupdate rule activation status table 3301 includes an update rule numberfield 3302, a resource field 3303, a metrics field 3304 and a collectionlevel field 3305.

An update rule meeting the current applicable conditions or the numberof the update rule meeting the past applicable conditions with theone-way automatic restoration designated, is stored in the update rulenumber field 3302.

The contents stored in the update rule number field 3302 are describedin detail. The update rule has either a two-way designation or one-waydesignation of automatic restoration. According to the rule of two-waydesignation of automatic restoration, it is determined whether theapplicable conditions are met or not at the time point of application ofthe two-way rule, and in accordance with the result of thisdetermination, it is determined whether the update rule is effective ornot. The two-way rule, therefore, is registered in the update ruleactivation status table in the case where the applicable conditions aremet, and deleted from the same table unless the applicable conditionsare met, thereby maintaining the effective rule in the table.

With regard to the rule with the one-way designation of automaticrestoration, on the other hand, the update rule remains effective oncethe applicable conditions are met even after the same conditions arecanceled. The “way” in the “two-way” and “one-way” indicates thedirection in which the collection frequency is changed. Specifically,the one-way change is indicative of a change only from low to highfrequency, and the two-way change is a case where the change is eitherfrom high to low frequency or from low to high frequency. The one-wayupdate rule, therefore, is registered in the update rule activationstatus table as soon as the applicable conditions are met, andsubsequently kept registered in the table. In this way, the effectiveupdate rule is held in the table. The result is that “the number of theupdate rule meeting the current applicable conditions or the number ofthe update rule meeting the past conditions and having one-waydesignation of automatic restoration is stored in the update rule numberfield 3302”.

The resources governed by the rule of the field 3302, the metricsidentifier and the collection level used at the time of application ofthe rule are stored in the resource field 3303, the metrics field 3304and the collection level field 3305, respectively.

FIG. 34 is a flowchart showing the steps of the performance datacollection process of the performance data collection agent and thestorage network performance management software. These processing stepsare started periodically by a timer in accordance with a set schedule,or at the request of the storage network performance management software109 by the performance data collection agent 106.

First, the steps for a case involving the performance data collectionagent are explained.

In step 3401, the current date and time are acquired using the functionof the server on which the agent is operating, and then the processproceeds to step 3402.

In step 3402, those registration rows of the performance data collectionstatus table (120, 901, 1201, 1501, 1801, 2101, 2401) which are not yetprocessed after starting the current steps are acquired, and the processproceeds to step 3402.

Once it is determined in step 3403 that all the registration rows areprocessed, the process is terminated. In the case where there remainsany registration row yet to be processed, the process proceeds to step3404.

In other words, the performance data collector 123 of the performancedata collection agent 106, after being activated, accesses theperformance data collection status table 120, etc. In this way, thepossibility and frequency of collection and the collection status suchas the last date and time are checked for the performance items of thestorage network component hardware or software in charge of theperformance data collection agent 106. In the case where the data arenot collected, an unprocessed state is determined, while a processedstate is determined in the case where the data is collected.

The foregoing explanation of the contents is supplemented. Each row ofthe performance data collection status table 120, etc. corresponds toeach of the performance items of the storage network component hardwareor software in charge of the corresponding agent.

The repetitive loop through the step 3402, 3403, 3404, 3410 or 341 andreturning to step 3402 is followed once for each row of the performancedata collection status table 120, etc. In the case where a performanceitem corresponding to a particular row is an object of collection (thecollection level of HOUR or MINUTE or SECOND), the data are collected.Otherwise (in the case where the collection level is OFF), the data arenot collected but only the last date and time is updated.

The termination determining process for passing through the repetitiveloop in step 3403 (the determination as to whether the process proceedsfrom step 3403 to 3404 or to “end”) is the one for determining whetherthe process is over or not for all the rows in the performance datacollection status table 120, etc. In other words, it is determinedwhether the data processing for all the performance items of the storagenetwork component hardware or software in charge of the correspondingagent (the process of correcting the data to be collected or updatingthe last date and time if the data is not to be collected) is completedor not.

In step 3404, the values in the collection level fields (904, 1204,1504, 1804, 2104, 2404) on the registration rows acquired from theperformance data collection status table are checked. In the case wherethe collection level is HOUR (collected once every hour), the processproceeds to step 3405. In the case where the collection level is MINUTE(collected once every minute), on the other hand, the process proceedsto step 3406, while in the case where the collection level is SECOND(collected once every second), the process proceeds to step 3407. In thecase where the collection level is OFF (not collected), the processproceeds to step 3410.

In step 3405, the values of the resource ID field (902, 1202, 1502,1802, 2102, 2402), the metrics ID field (903, 1203, 1503, 1803, 2103,2403) and the last collection date and time field (905, 1205, 1505,1805, 2105, 2405) on the registration row acquired in step 3402 arechecked. The metrics value for each hour during the period from the lastdate and time to the current date and time acquired in step 3401 isrequested against the performance data acquirer 122 of the storagenetwork component hardware or software having the particular resource,and then the process proceeds to step 3408.

In step 3406, substantially similarly to step 3405, the metrics valuefor each minute of the above-mentioned period is requested and theprocess proceeds to step 3408.

In step 3407, substantially similarly to step 3405, the metrics valuefor each second of the above-mentioned period is requested and theprocess proceeds to step 3408.

In step 3408, the requested metrics value is received from theperformance data acquirer 122, and the process proceeds to step 3409.

In step 3409, the received metrics value is added to the metrics valuetable (124, 1001, 1301, 1601, 1901, 2201, 2501) and the process proceedsto step 3411.

In step 3411, the latest one of the date and time of the metrics valuesreceived in step 3408 is stored in the last date and time field (905,1205, 1505, 1805, 2105, 2405) on the registration row acquired in step3402, and the process returns to step 3402.

In step 3410, the current date and time acquired in step 3401 is storedin the last collection date and time field (905, 1205, 1505, 1805, 2105,2405) on the registration row acquired in step 3402, and the processreturns to step 3402.

Next, an explanation is given about the steps executed for the storagenetwork performance management software in FIG. 34. The performance datacollector 126 of the storage network performance management software 109is activated periodically in accordance with a predetermined schedulesetting.

First, in step 3401, the current date and time is acquired by use of thefunction provided by the server operated with the storage networkperformance management software, and the process proceeds to step 3402.

In step 3402, the registration row of the performance data collectionstatus table 121 which has yet to be processed after the start of thecurrent process is acquired.

Specifically, in step 3402, the performance data collector 126 searchesthe performance data collection status table 121 for the collectionstatus of the metrics, and acquires the performance data not yetcollected (not yet processed), and the process proceeds to step 3403.

In the case where it is determined in step 3403 that the all theregistration rows have been processed, the process is terminated. In thecase where there remains a registration row not yet processed, on theother hand, the process proceeds to step 3404.

The contents of the foregoing explanation are supplemented. Each row ofthe performance data collection status table 121 corresponds to oneperformance item of the storage network component hardware or softwarein charge of any of the agents governed by the storage networkperformance management software 109.

The repetitive loop returning to step 3402 through step 3402, 3403,3404, 3410 or 3411 makes one loop for each row of the performance datacollection status table 121. In the case where the performance itemcorresponding to a particular row is an object of collection (thecollection level is HOUR, MINUTE or SECOND), the data is collected fromthe agent, while, in the case where the row is not an object ofcollection (the collection level is OFF), the data is not collected andonly the last date and time is updated.

The determination in step 3403 as to whether the repetitive loop is tobe passed through or not (whether the process proceeds to step 3404 oris terminated) is the process executed for all the rows of theperformance data collection status table 121. In other words, it isdetermined that the process (the process of collecting the data to becollected and updating the last date and time for the data not to becollected) has been completed for all performance items in charge of allthe agents, and in accordance with the result of determination, theprocess proceeds to the next step.

In step 3404, the value of the collection level field 2903 on theregistration row acquired from the performance data collection statustable 121 is checked. In the case where the collection level is HOUR(collected once every hour), the process proceeds to step 3405. In thecase where the collection level is MINUTE (collected once every minute),on the other hand, the process proceeds to step 3406, while in the casewhere the collection level is SECOND (collected once every second), theprocess proceeds to step 3407. In the case where the collection level isOFF (not collected), the process proceeds to step 3410.

In step 3405, the values are checked of the resource ID field 2901, themetrics ID field 2902 and the last collection date and time field 2904on the registration row acquired in step 3402. The value of the metricsfor every one hour of the period from the last collection date and timeto the current date and time acquired in step 3401 are requested fromthe performance data responder 125 is requested against the performancedata responder 125 of the performance data collection agent in charge ofcollecting the data for the particular resource, and the processproceeds to step 3408.

In other words, the performance data responder 125 of the correspondingperformance data collection agent 106 is requested to transmit themetrics value to be collected.

In step 3406, substantially similarly to step 3405, the metrics valuefor each minute of the same period is requested, and the processproceeds to step 3408.

In step 3407, substantially similarly to step 3405, the metrics valuefor each second of the same period is requested, and the processproceeds to step 3408.

In step 3408, the requested metrics value is received from theperformance data responder 125, and the process proceeds to step 3409.

In step 3409, the received metrics value is added to the metrics valuetable 127, and the process proceeds to step 3411.

In step 3411, the latest one of the date and time held in the metricsvalue received in step 3408 is stored in the last collection date andtime field 2904 on the registration row acquired in step 3402, and theprocess returns to step 3402.

In step 3410, the current date and time acquired in step 3410 is storedin the last collection date and time field 2904 on the registration rowacquired in step 3402, and the process returns to step 3402.

FIG. 35 is a flowchart showing the steps of the collection status updateprocess of the storage network performance management software. Theseprocessing steps are started by a timer periodically in accordance witha schedule setting or with the updating of the metrics value table 127as a motive.

First, in step 3501, those registration rows of the collection statusupdate rule table 3101 which are not processed after starting thecurrent process are acquired, and the process proceeds to step 3502.

In the case where it is determined in step 3502 that all theregistration rows have been processed, the process is terminated. In thecase where there remains any registration row not yet processed, on theother hand, the process proceeds to step 3503.

The contents of this process are described in detail. Each row of thecollection status update rule table 3101 corresponds to the update rulefor the collection status defined by the user through the screen shownin FIG. 7. The repetitive loop returning to step 3501 through steps3501, 3402, 3403, etc. makes one loop for each row of the collectionstatus update rule table 3101. In accordance with whether the conditionsfor the update rule corresponding to each row of the collection statusupdate rule table 3101 are met or not, the collection status of theperformance data is updated or maintained as it is.

The determination in step 3502 as to whether the repetitive loop is leftto terminate the process or the process proceeds to step 3503 is theprocess for determining whether the conditions are met or not of all theupdate rules registered in the collection status update rule table 3101(all the rows included in the collection status update rule table 3101)and determining to which step the process is to proceed. Specifically,in the case where it is determined that the process of updating thecollection status of the performance data has been completed for all therows, the process proceeds to end (from step 3502 to YES). In the casewhere it is determined that there remains a row for which the updaterule conditions have yet to be met and the update process for thecollection status of the performance data has yet to be executed, on theother hand, the process proceeds from step 3502 to step 3503.

In step 3503, first, the values of the update conditions resource field3102 and the update conditions metrics field 3103 on the registrationrow acquired in step 3501 are checked. The performance data collectionstatus table 121 is searched for a row on which the resources and themetrics are coincident with the contents of the resource ID field 2901and the metrics ID field 2902, respectively, and the value in the lastcollection date and time field 2904 for the row thus found is checked.It is then determined whether the particular last collection date andtime is included in the period from the previous start of the currentprocess to the present start of the process. In the case where the lastcollection date and time is so included, the process proceeds to step3504, otherwise the process returns to step 3501.

In step 3504, first, the values are checked of the update condition codefield 3105, the update conditions parameter list field 3106 and thechange direction code field 3111 on the registration row acquired instep 3501. The metrics value necessary for determining whether theupdate conditions are met or not is acquired from the metrics valuetable 127, and the process proceeds to step 3505.

In the case where it is determined in step 3505 that the updateconditions are met, the process proceeds to step 3506. In the case wherethe update conditions fail to be met and the change direction is twoways, then the process proceeds to step 3507. In the case where theupdate conditions fail to be met and the change direction is one way, onthe other hand, the process returns to step 3501.

In step 3506, first, the values are checked of the updated resourcefield 3107 and the updated resource extension code field 3108 on theregistration row acquired in step 3501. By tracing the relation in therelated resource table (2601, 2604, 2701, 2801, 2704, etc.) of therelated resource data storage 115, the updated resource designated bythe updated resource extension code is determined.

One of the updated resources is acquired for which the update rule hasyet to be applied to the metrics (the metrics designated by the updatedmetrics field 3109 acquired in step 3501) of the corresponding updatedresource (the resource selected in step 3506), and the process proceedsto step 3508.

In the foregoing description, the “process of applying the update ruleto the corresponding metrics (the metrics designated by the updatedmetrics field 3109 for the row acquired in step 3501) of thecorresponding updated resource (the resource selected in step 3506)” isindicative of the process of subsequent steps 3508, 3510 and 3512 to3521.

In the case where it is determined in step 3508 that all the updatedresources have been processed, the process returns to step 3501. In thepresence of an updated resource not yet processed, on the other hand,the process proceeds to step 3510.

In step 3510, the values of the updated metrics field 3109 on theregistration row acquired in step 3501 are checked. One of the updatedmetrics that is yet to be processed is acquired, and the processproceeds to step 3512.

In the case where it is determined in step 3512 that all the updatedmetrics have been processed, the process returns to step 3506. In thecase where there remains an unprocessed metrics, on the other hand, theprocess proceeds to step 3514.

In step 3514, a row on the update rule activation status table 3301 issearched for in which the update rule number field 3104 on theregistration row acquired in step 3501, the unprocessed updated resourcein step 3506 and the unprocessed updated metrics in step 3510 coincidewith the contents of the update rule number field 3302, the resourcefield 3303 and the metrics field 3304, respectively. In the absence of acorresponding row, the process proceeds to step 3516. Otherwise, theprocess returns to step 3510.

In step 3516, the number and the collection level of the unprocessedupdate rule selected in step 3501, the unprocessed updated resourceselected in step 3506 and the unprocessed updated metrics selected instep 3510 are registered in the update rule activation status table3301, and the process proceeds to step 3518.

In step 3518, it is determined whether the collection level newlyregistered in step 3516 is higher or not than the collection levelregistered in the update rule activation status table 3301 for the sameresource and the same metrics. In the case where the newly registeredcollection level is higher, the process proceeds to step 3519,otherwise, the process returns to step 3510.

In step 3519, the collection status updater 116 of the agent forcollecting the data of the updated resource selected in step 3506 isrequested to update the collection level of the corresponding metrics ofthe corresponding resource of the performance data collection statustable (120, 901, 1201, 1501, 1801, 2101, 2401), and the process proceedsto step 3521.

Similarly, in step 3521, the collection level of the correspondingmetrics of the corresponding resource of the performance data collectionstatus table 121 is updated, and the process returns to step 3510.

In step 3507, first, the values are checked of the updated resourcefield 3107 and the updated resource extension code field 3108 on theregistration row acquired in step 3501. Also, the updated resourcedesignated by the updated resource extension code is checked byfollowing the relation in the related resource table (2601, 2604, 2701,2801, 2704, etc.) of the related resource data storage 115. One of theunprocessed updated resources is acquired and the process proceeds tostep 3509.

In the case where it is determined in step 3509 that all the updatedresources have been processed, the process returns to step 3501,otherwise the process proceeds to step 3511.

In step 3511, the value of the updated metrics field 3109 on theregistration row acquired in step 3501 is checked. One of theunprocessed updated metrics is acquired, and the process proceeds tostep 3513.

In the case where it is determined in step 3513 that all the updatedmetrics have been processed, the process returns to step 3507. In thecase where there remains an updated metrics unprocessed, on the otherhand, the process proceeds to step 3515.

In step 3515, a row on the update rule activation status table 3301 issearched for in which the update rule number field 3104 on theregistration row acquired in step 3501, the unprocessed updated resourcein step 3507 and the unprocessed updated metrics in step 3511 coincidewith the contents of the update rule number field 3302, the resourcefield 3303 and the metrics field 3304, respectively. In the presence ofa corresponding row, the process proceeds to step 3517. Otherwise, theprocess returns to step 3511.

In step 3517, a row of the update rule activation status table 3301 isdeleted in which the number of the unprocessed update rule selected instep 3501, the unprocessed updated resource selected in step 3507 andthe unprocessed updated metrics selected in step 3511 are coincidentwith each other. Then, the process proceeds to step 3520.

In step 3520, first, the highest collection level in the registrationrows of the update rule activation status table 3301 in which theupdated resource selected in step 3507 and the updated metrics selectedin step 3511 coincide with each other. The collection status updater 116of the agent for collecting the data of the particular updated resourceis requested to update the collection level of the corresponding metricsof the corresponding resource of the performance data collection statustable (120, 901, 1201, 1501, 1801, 2101, 2401) to a determined level,and the process proceeds to step 3522.

Similarly, in step 3522, the collection level of the correspondingmetrics of the corresponding resource is updated and the process returnsto step 3511.

According to this embodiment, based on the performance data collectedfrom the storage network component elements to be monitored, the rangeor degree of subsequent data collection can be automatically adjusted asrequired. More specifically, the performance data is collected inaccordance with the following steps (2) to (5) or (1) to (5).

(1) An instruction (choice or parameter) to concretely specify a methodaccording to the following steps (2) to (4) is acquired from the user ofthe storage network.

(2) The timing of changing the collection method is determined based onthe performance data already collected. This timing is determinedaccording to the following steps (2A) to (2C). In the case where theprocess is started with step (1), the timing is determined in accordancewith the instruction acquired in step (1) from the following steps (2A)to (2C).

(2A) The time point when the value of a specific performance itemobtained for a specific collected element is excessively large orexcessively small (higher or lower than a specific reference).

(2B) The time point when a sign is recognized that the value of aspecific performance item obtained for a specific collected element isexcessively large or excessively small (the value change is larger orsmaller than a specific reference).

(2C) The time point when the state in which the value of a specificperformance item obtained for a specific collected element isexcessively large or excessively small (larger or smaller than aspecific reference) is canceled, or the time point when a sign of theparticular state is canceled (the value change is smaller or larger thana specific reference).

(3) At the timing described above, the collected element for theperformance data of which the collection method is to be changed isselected. The selection method is determined in accordance with thefollowing steps (3A) to (3D). In the case where the process is startedwith step (1), the selection method is determined in accordance with thedesignation acquired in step (1) from the following steps (3A) to (3D).

(3A) With the collected element giving a motive of determining thetiming in step (2) as an origin, a collected element is selected on thepath tracing the interdependency relation to the upstream side imposinga load on the performance, using the performance interdependencyrelation between the collected elements.

(3B) With the collected element giving a motive of determining thetiming in step (2) as an origin, a collected element is selected on thepath tracing the interdependency relation to the downstream side imposedwith a performance load, using the performance interdependency relationbetween the collected elements.

(3C) With the collected element giving a motive of determining thetiming in step (2) as an origin, a collected element is selected on thepath tracing the interdependency relation to the upstream side imposinga performance load and the downstream side imposed with a performanceload, using the performance interdependency relation between thecollected elements.

(3D) With the collected element giving a motive of determining thetiming in step (2) as an origin, a collected element is selected on thepath tracing the interdependency relation to the upstream side imposinga performance load and the downstream side imposed with a performanceload, using the performance interdependency relation between thecollected elements, while at the same time selecting a collected elementon the path tracing the performance interdependency relation to theupstream and downstream sides with each collected element on the path asa new origin.

(4) A collection method and an update method for the performance dataare determined with regard to the selected collected elements. Theupdate method is determined in accordance with any of the followingprocesses. Specifically, the update method is determined in accordancewith the following steps (4A) to (4D). In the case where the process isstarted with step (1), the update method is determined in accordancewith the instruction acquired in step (1) from the following steps (4A)to (4D).

(4A) To change the collection method in such a manner as to collect thehitherto uncollected values of specified performance items of thecollected elements selected in step (3).

(4B) To change the collection method in such a manner as to increase thefrequency of collecting the values of specified performance items of thecollected elements selected in step (3) than in the prior art.

(4C) To change the collection method in such a manner as to decrease thefrequency of collecting the values of specified performance items of thecollected elements selected in step (3) than in the prior art.

(4D) To change the collection method in such a manner as not to collectthe hitherto collected values of specified performance items of thecollected elements selected in step (3).

(5) The method of collecting the performance data is changed inaccordance with the update method determined above.

Once the collection method is changed in step (5) in accordance withstep (4A) or (4B), the method is automatically switched to collect thehitherto uncollected values of the performance items or to collect at ahigher frequency the values hitherto collected at a low frequency. Bydelaying the collection of the performance items or reducing thecollection frequency until a need arises, therefore, the amount of theperformance data collected can be suppressed.

Once the collection method of step (5) is changed at the timingdetermined in step (2B), the sign of temporal change of the performancedata to be monitored is grasped, and therefore the chance of losing thetiming of data acquisition is reduced as compared with the case wherethe timing of step (2A) is used.

Once the collection method is changed in the way according to step (4A)or (4B) for the collected elements selected in step (3A), the collectedelements on the upstream side imposing a load on the elements of whichthe performance data has undergone a notable change are newly added aselements to be monitored or come to be monitored at a higher frequency,and therefore the effective data for the follow-up check of the cause ofthe change thereof can be obtained. Once the collection method ischanged in the way according to step (4A) or (4B) for the collectedelements selected in step (3B), the collected elements on the downstreamside loaded by the elements of which the performance data has undergonea notable change are newly added as elements to be monitored or come tobe monitored at a higher frequency, and therefore the effective data forthe follow-up check of the cause of the change thereof can be obtained.

Once the collection method is changed in the way according to step (4A)or (4B) for the collected elements selected in step (3C) or (3D), thecollected elements on the upstream side imposing a load on the elementsof which the performance data has undergone a notable change and thecollected elements on the downstream side imposed with a load, andfurther the elements on other paths contacted by any of the elements onthe path from the upstream to downstream side come to be newlymonitored. Thus, especially in the case where the performanceinterdependency relation between the elements is complicated, theeffective data to carry out the follow-up check of the cause and effectsof the change can be obtained.

Once the collection method is changed in the way according to step (4C)or (4D) at the timing determined in step (2C), the frequency ofperformance data collection is automatically switched downward for theelements of which the notable state has been removed or to stop thecollection. Therefore, the collection of the unrequited performance datacan be suppressed.

In the case where the method of steps (2) to (4) is specificallydetermined in accordance with the designation (choice or parameter)acquired in step (1), the automation of data collection can becustomized in a manner meeting the need of the storage network user.

According to this embodiment, the crucial data required for monitoringand tuning the performance of the storage network can be collected at anappropriate timing without fail while suppressing the collection ofunnecessary data. As a result, the operation of monitoring theperformance of a large storage network can be automated using a deviceof about the same capacity as in the prior art. Also, the overhead forthe monitored devices can be reduced when acquiring data.

According to this invention, the method of collecting the data requiredfor monitoring and tuning the performance of the storage network can becontrolled in accordance with the parameters designated by the user.Also, the amount of the data collected and the objects for which thedata are collected can be adjusted as required.

As a result, the operation of monitoring the performance of a storagenetwork large in scale can be automated and the overhead thereof can bereduced.

It should be further understood by those skilled in the art thatalthough the foregoing description has been made on embodiments of theinvention, the invention is not limited thereto and various changes andmodifications may be made without departing from the spirit of theinvention and the scope of the appended claims.

1. An information processing system, comprising: a storage subsystemhaving a plurality of logical volumes; a computer coupled to the storagesubsystem and executing a file system managing a plurality of filesassociating the plurality of logical volumes, and executing a databaseprogram managing a plurality of table spaces associating the pluralityof files; and a management computer coupled to the storage subsystem andthe computer and storing performance condition information on each of aplurality of elements, the plurality of elements including the pluralityof logical volumes and the plurality of files and the plurality of tablespaces, and a relation information between the plurality of elements,wherein the management computer determines, based on the relationinformation, a necessity as to whether a time interval for collectingthe performance condition information on a certain element to becollected of the plurality of elements is changed or whether theperformance condition information is collected or not; the managementcomputer selects, based on a relation of transmitting and receiving aninput/output operation between elements, an element to be collected on apath which traces the relation of transmitting and receiving theinput/output operation toward an upstream side which imposes a load onthe performance condition and toward a downstream side in which the loadis imposed on the performance condition, from an element as an originwhich is determined to be necessary to collect; the management computerfurther selects, based on the relation of transmitting and receiving theinput/output relation, an element to be collected on a path which tracesthe upstream side and the downstream side based on the relation oftransmitting and receiving the input/output operation, from each of theelement to be collected on the path as a further origin.
 2. Theinformation processing system according to claim 1, wherein theperformance condition is related to the number of inputs/outputs persecond.
 3. The information processing system according to claim 1,wherein the certain element is one of the plurality of table spaces, andthe at least one of the plurality of files and at least one of otherelements corresponding to the certain element is one of the plurality oflogical volumes.
 4. The information processing system according to claim1, wherein the relation information comprises a table space-filerelation table, a file-volume relation table and a volume-logicalvolume-port relation table.
 5. The information processing systemaccording to claim 1, wherein the database program further manages aplurality of tables associating the plurality of table spaces and theplurality of elements further includes the plurality of tables.
 6. Theinformation processing system according to claim 1, wherein themanagement computer determines the necessity if a value of a specificperformance condition obtained for a certain element exceeds ordecreases below a predetermined reference value for the value of thespecific performance condition or if a change in the value of theperformance condition exceeds or decreases below a predeterminedreference value for the change.
 7. The information processing systemaccording to claim 1, wherein the upstream side indicates a directionfor connecting from the management server to the computer and thedownstream side indicates a direction for connecting from the managementserver to the storage subsystem.
 8. The information processing systemaccording to claim 1, wherein an element, as the relation oftransmitting and receiving an input/output operation between elements,is selected by transmitting or receiving the input/output operation fromor to the element to be determined as the necessary as to whether thetime interval for collecting the performance condition information ischanged or the performance condition information is collected.
 9. Theinformation processing system according to claim 1, wherein, if themanagement server determines that the necessity is canceled, themanagement server keeps or further selects the time interval or afrequency for collecting the performance condition information on anelement to be determined to be canceled.
 10. The information processingsystem according claim 1, the selected element is further selected basedon a specified condition.
 11. A method of information processing on amanagement computer of a system including a storage subsystem having aplurality of logical volumes, a computer coupled to the storagesubsystem, and wherein the management computer is coupled to the storagesubsystem, the method comprising: storing performance conditioninformation on each of a plurality of elements, wherein the plurality ofelements includes the plurality of logical volumes, a plurality offiles, a plurality of table spaces, and a relation information betweenthe plurality of elements; determining, based on the relationinformation, a necessity as to whether a time interval for collectingthe performance condition information on a certain element to becollected of the plurality of elements is changed or whether theperformance condition information is collected or not; selecting, basedon a relation of transmitting and receiving an input/output operation,an element to be collected on a path which traces the relation oftransmitting and receiving the input/output operation toward an upstreamside which imposes a load on the performance condition and toward adownstream side in which the load is imposed on the performancecondition, from an element as an origin which is determined to benecessary to collect; and selecting, based on the relation oftransmitting and receiving the input/output relation, an element to becollected on a path which traces the upstream side and the downstreamside based on the relation of transmitting and receiving theinput/output operation, from each of the element to be collected on thepath as a further origin.
 12. The method according to claim 11, whereinthe performance condition is related to the number of inputs/outputs persecond.
 13. The method according to claim 11, wherein the certainelement is one of the plurality of table spaces, and the at least one ofthe plurality of files and at least one of other elements correspondingto the certain element is one of the plurality of logical volumes. 14.The method according to claim 11, wherein the relation informationcomprises a table space-file relation table, a file-volume relationtable and a volume-logical volume-port relation table.
 15. The methodaccording to claim 11, wherein the database program further manages aplurality of tables associating the plurality of table spaces and theplurality of elements further includes the plurality of tables.
 16. Themethod according to claim 11, wherein the management computer determinesthe necessity if a value of a specific performance condition obtainedfor a certain element exceeds above or decreases below a predeterminedreference value for the value of the specific performance condition orif a change in the value of the performance condition exceeds above ordecreases below a predetermined reference value for the change.
 17. Themethod according to claim 11, wherein the upstream side indicates adirection for connecting from the management server to the computer andthe downstream side indicates a direction for connecting from themanagement server to the storage subsystem.
 18. The method according toclaim 11, wherein an element, as the relation of transmitting andreceiving an input/output operation between elements, is selected bytransmitting or receiving the input/output operation from or to theelement to be determined as the necessary as to whether the timeinterval for collecting the performance condition information is changedor the performance condition information is collected.
 19. The methodaccording to claim 11, wherein, if the management server determines thatthe necessity is canceled, the management server keeps or furtherselects the time interval or a frequency for collecting the performancecondition information on an element to be determined to be canceled. 20.The method according claim 11, the selected element is further selectedbased on a specified condition.